# 生成器本质上也是一个迭代器，但是只能迭代一次
# 关键字：yield
def g():        # 创建了g函数
    a = 1       # 创建局部变量a，并赋值为1
    while True:     # 死循环，会一直不断地循环，无停止
        yield a
        # yield生成器关键字，可以把它当成是一个return，代码执行到此就会返回值的
        # 当你下一次再去调用这个函数，yield会从下向上执行
        a +=1   # 每次的局部变量a会+1
# 调用函数
a = g()
# next访问a对象的下一个值
print(next(a))      # 1
print(next(a))      # 2